Information processing apparatus, information processing method and storage medium

ABSTRACT

An information processing apparatus includes a display unit that displays an image on a display device, a specifying unit that specifies a selection region selected in the displayed image, and a determining unit that determines a detection parameter for use in object detection processing based on a feature of an object within the specified selection region.

BACKGROUND Field

The present disclosure relates to a technology for detecting an objectin an image in an information processing apparatus.

Description of the Related Art

Conventionally, a technology has been known which detects an object,such as a human body, from an image. Such a technology for detecting anobject can be utilized for various conditions, such as counting thenumber of people in a stadium or counting the number of visitors in anamusement park. Japanese Patent Laid-Open No. 2012-108785 discloses atechnology for counting the number of people by detecting people withhigh accuracy and at a high speed even when a plurality of human figuresare close to each other.

Human figure detection rate can vary in accordance with the conditionsof scenes. In other words, fixing detection parameters relating todetection of an object can result in misdetection of an unintendedobject or in detection of a reduced number of people. In order toincrease the accuracy of object detection, detection parameters relatingto object detection can be adjusted in accordance with a givencondition. However, it can be difficult for a user to determine how adetection parameter is to be set for a given condition. Even accordingto Japanese Patent Laid-Open No. 2012-108785, it is difficult for a userto appropriately set a detection parameter.

What is needed is for users to easily set a detection parameter for usein object detection processing.

SUMMARY

An information processing apparatus according to an aspect of thepresent disclosure includes a display unit configured to display animage on a display device, a specifying unit configured to specify aselection region selected in the displayed image, and a determining unitconfigured to determine a detection parameter for use in objectdetection processing based on a feature of an object within thespecified selection region.

Further features will become apparent from the following description ofexemplary embodiments with reference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example of a hardware configurationof an information processing apparatus.

FIG. 2 illustrates an example of a functional configuration and so on inthe information processing apparatus.

FIG. 3 illustrates an example of a start screen.

FIG. 4 illustrates example features of an object.

FIG. 5 illustrates an example setting screen.

FIGS. 6A to 6D illustrate an example of processing for adjusting adetection parameter.

FIGS. 7A to 7D illustrate another example of processing for adjusting adetection parameter.

FIG. 8 is a flowchart illustrating an example of processing in theinformation processing apparatus.

FIG. 9 is a flowchart illustrating another example of processing in theinformation processing apparatus.

FIG. 10 illustrates processing for adjusting a frame.

DESCRIPTION OF THE EMBODIMENTS

Embodiments will be described below with reference to drawings.

First Embodiment

FIG. 1 illustrates an example of a hardware configuration of aninformation processing apparatus 101 according to a first embodiment.The information processing apparatus 101 includes a CPU 201, a ROM 202,a RAM 203, an HDD 204, a disk drive 205, a network interface 206, aninput device 207, and a display device 208. The CPU 201, the ROM 202,the RAM 203, the HDD 204, the disk drive 205, the network interface 206,the input device 207, and the display device 208 are connected to eachother via a system bus in the information processing apparatus 101. Thenetwork interface 206 is connected to a network 211.

The CPU 201 is a control device such as a central processing unit (CPU)configured to control the information processing apparatus 101. The ROM202 is a storage device configured to store a program to be used by theCPU 201 for controlling the information processing apparatus 101. Theinformation processing apparatus 101 can have a secondary storage deviceinstead of the ROM 202. The RAM 203 is a memory functioning as a workarea for the CPU 201, and a program read from the ROM 202 to the CPU 201is decompressed in the RAM 203. The RAM 203 can also function as atemporary memory or a storage area configured to temporarily store datato be processed.

The HDD 204 is a storage device configured to store an image file 111and data, such as information regarding a detection parameter, for usein object detection processing to be performed by the detecting unit102, which will be described with reference to FIG. 2. The image file111 is a file of an image on which the information processing apparatus101 according to the present embodiment performs object detection. Animage corresponding to the image file 111 is an example of an inputimage. The CPU 201 is configured to acquire the image file 111 from theHDD 204. In a case where the image file 111 is stored in another storagedevice (such as the ROM 202, an external storage device, or a storagemedium installed in the disk drive 205), the information processingapparatus 101 may not have the HDD 204. The disk drive 205 is a drive inwhich a storage medium, such as an optical disk or a flexible disk, canbe installed and that acquires information, such as the image file 111,from the installed storage medium. In a case where the image file 111and so on are prestored in another storage device (such as the ROM 202or the HDD 204), the information processing apparatus 101 may not havethe disk drive 205.

The network interface 206 is a circuit used for communication with anexternal apparatus over the network 211. The CPU 201 can acquire, overthe network 211, data, such as the image file 111, from an externalstorage device to which the CPU 201 is connected. In a case where theimage file 111 is stored in another storage device (such as the ROM 202or the HDD 204), the information processing apparatus 101 may not havethe network interface 206.

The display device 208 is a device, such as a display, that, forexample, can display an image and a frame of a region. Though FIG. 1illustrates the display device 208 included in the informationprocessing apparatus 101, the information processing apparatus 101 andthe display device 208 can be provided separately. In this case, the CPU201 in the information processing apparatus 101 can perform displaycontrol for displaying an image on the display device 208 providedexternally to the information processing apparatus 101. The input device207 can include a keyboard usable for inputting a numerical value andtext and a pointing device usable for instructing a specific displayposition in a display region on the display device 208, and can, forexample, include a mouse and a touch panel.

The CPU 201 can, for example, execute a process based on a programstored in the ROM 202 or the HDD 204 to implement a function of theinformation processing apparatus 101, which will be described below withreference to FIG. 2, and a number-of-people counting application, whichwill be described below with reference to FIG. 3. The CPU 201 canfurther execute a process based on a program stored in the ROM 202 orthe HDD 204 to implement, for example, processing that will be describedbelow with reference to the flowcharts in FIGS. 8 and 9.

The hardware configuration of the information processing apparatus 101as described above can, for example, include hardware components similarto hardware components installed in a personal computer (PC). Theinformation processing apparatus 101 according to the present embodimentcan be implemented by an information processing apparatus such as a PC,a tablet apparatus, or a server apparatus. Functions, which will bedescribed below with reference to FIG. 2, of the information processingapparatus 101 according to the present embodiment can be implemented asapplications that can run on an information processing apparatus, suchas a PC.

FIG. 2 illustrates an example of a functional configuration of theinformation processing apparatus 101 according to the presentembodiment. The information processing apparatus 101 includes adetecting unit 102, a file input unit 103, a file output unit 104, adisplay unit 105, an adjusting unit 106, and an operation input unit109. The adjusting unit 106 includes an extracting unit 107 and a regionsetting unit 108.

The detecting unit 102 is configured to detect a detection target objectfrom the image file 111 acquired from the file input unit 103. Thedetecting unit 102 is configured to acquire information, which is storedin the HDD 204, for example, regarding a detection parameter to be usedin detection processing and use the detection parameter corresponding tothe acquired information for the processing for detecting an object. Thedetection parameter is a parameter used in processing for detecting anobject to be performed by the detecting unit 102. The file input unit103 is configured to acquire the image file 111 from which an object isdetected, from, for example, the ROM 202, the HDD 204, a storage mediuminstalled in the disk drive 205, or an external storage device.

The file output unit 104 is configured to store, in a file format, aresult of detection of an object performed by the detecting unit 102into, for example, the ROM 202 or the HDD 204 for output. The displayunit 105 is configured to display a result of detection of an objectperformed by the detecting unit 102 on the display device 208. Theadjusting unit 106 is configured to adjust a detection parameter to beused in object detection processing to be performed by the detectingunit 102 and determine the value or values of the detection parameter.The operation input unit 109 is configured to receive a user's operationthrough the input device 207.

The adjusting unit 106 includes the extracting unit 107 and the regionsetting unit 108. The extracting unit 107 is configured to extract, forexample, a feature from the image file 111 acquired by the file inputunit 103 or a region selected by the region setting unit 108. The regionsetting unit 108 is configured to select a region in the image file 111acquired by the file input unit 103 based on a user's operation receivedby the operation input unit 109.

According to the present embodiment, the information processingapparatus 101 is configured to detect a detection target object orobjects from an input image and execute an application for counting thenumber of the detected object or objects. According to the presentembodiment, it is assumed that a human face is a detection targetobject. In other words, according to the present embodiment, theinformation processing apparatus 101 is configured to detect a humanface or faces from an input image and execute a number-of-peoplecounting application for counting the number of detected human face orfaces, i.e., the number of people.

FIG. 3 illustrates an example of a start screen of the number-of-peoplecounting application executed by the information processing apparatus101 according to the present embodiment. A start screen 300 is anexample start screen of the number-of-people counting application. Adisplay region 301 is a region where an input image is to be displayedand where an image corresponding to the image file 111 is displayedaccording to the present embodiment. A frame 302 indicating an objectdetected by the detecting unit 102 is displayed on a display screen inthe display region 301, and a human face within the frame is detected inthe example. A display region 303 displays information indicating thenumber of currently detected objects (the number of people). Referringto the example in FIG. 3, four human faces are detected by the detectingunit 102 from an image corresponding to the image file 111. A SET button304 is a button selected in shifting to a detection parameter settingscreen. The processing performed when the SET button is pressed will bedescribed in detail below with reference to FIG. 5.

The display unit 105 is configured to display the start screen 300 onthe display device 208 when the number-of-people counting application isstarted. The display unit 105 displays an image corresponding to theimage file 111 acquired by the file input unit 103 in the display region301 of the start screen 300. When the number-of-people countingapplication is started, the detecting unit 102 executes processing fordetecting a human face as a detection target object in the imagecorresponding to the image file 111. The display unit 105 displays theframe 302 indicating a result of the detection processing performed bythe detecting unit 102 over the image corresponding to the image file111 in the display region 301.

The display unit 105 can display, in the display region 303, informationsuch as text indicating how many objects have been detected as a resultof the detection processing performed by the detecting unit 102. If,based on a user's operation received by the operation input unit 109through the input device 207, selection of the SET button 304 isdetected, the display unit 105 displays a setting screen 500, which willbe described below with reference to FIG. 5, on the display device 208.

FIG. 4 illustrates detection parameter examples used in detecting ahuman face. According to the present embodiment, the detecting unit 102detects a human face in an image based on features illustrated in FIG.4, and counts the detected human face to count the number of people.FIG. 4 illustrates the size of a head (hereinafter, head size), theorientation of a head (hereinafter, head orientation) and an angle of ashoulder (hereinafter, shoulder angle) as features used in detecting ahuman face. The detecting unit 102 can detect, from an input image, anedge of the image to generate its outline. In the example in FIG. 4, thedetecting unit 102 generates an outline 400.

For example, in order to detect a human face, the detecting unit 102 candetermine whether the object corresponding to the outline 400 is a humanface based on the generated outline 400. The detecting unit 102 cancalculate a head size 401, a head orientation 402, and a shoulder angle403 based on, for example, the outline 400. The head size 401 is, forexample, a width of a region occupied by a head in an image. The headorientation 402 is, for example, an angle indicating an orientation of aface in an image. The shoulder angle 403 is, for example, an angleindicating a gradient of a shoulder part. If all of the head size 401,the head orientation 402, and the shoulder angle 403 fall within presetcorresponding ranges, the detecting unit 102 detects that the objectcorresponding to the outline 400 is a human face. The ranges set forfeatures of a head size, a head orientation, and a shoulder angle areexamples of detection parameters for use in object detection processingperformed by the detecting unit 102.

FIG. 5 illustrates an example of a setting screen 500 displayed when theSET button 304 is selected. The display unit 105 displays the settingscreen 500 on the display device 208 in a case where the SET button 304is selected on the start screen 300. A display region 501 is a displayregion displaying an input image to be detected (the image correspondingto the image file 111). The display unit 105 displays in the displayregion 501 a frame 502 indicating a detected object over the imagecorresponding to the image file 111.

A display region 503 is a display region displaying informationindicating detection parameters for use in object detection processing.The information displayed in the display region 503 indicates rangeseach defining a feature calculated from the outline generated by thedetecting unit 102 as a detection target object. According to thepresent embodiment, the display unit 105 can change the informationdisplayed in the display region 503 based on a user's operation throughthe input device 207. When the information displayed in the displayregion 503 is changed, the detecting unit 102 can detect an object fromthe image corresponding to the image file 111 again based on thedetection parameter corresponding to the changed information. In thiscase, the display unit 105 can display in the display region 501 aresult of the detection processing performed by the detecting unit 102after the change.

An ADD button 504, a FINISH SETTING button 505, and a DELETE button 506are buttons for use in processing for adjusting a detection parameter.The ADD button 504 and the FINISH SETTING button 505 will be describedin detail with reference to FIGS. 6A to 6D. The DELETE button 506 willbe described in detail with reference to FIGS. 7 A to 7D. A RETURNbutton 507 is a button used for returning to the start screen 300. Whenthe RETURN button 507 is selected, the display unit 105 displays thestart screen 300 on the display device 208 again.

FIGS. 6A to 6D illustrate an example of detection parameter adjustmentprocessing. FIG. 6A is an example of the setting screen 500 before theADD button 504 is pressed. Detection parameters 602 are detectionparameters currently used by the detecting unit 102 in the objectdetection processing. For example, a shoulder angle feature ranges from40° to 78°

If selection of the ADD button 504 is detected in FIG. 6A, the displayunit 105 shifts the setting screen to an addition mode. In the additionmode, a user is prompted to select a region that is not currently beingdetected as an object, but is to be detected as a detection targetobject. According to the present embodiment, a region is selected basedon a user's drag operation received by the operation input unit 109through the input device 207 on the display screen. The display region501 after the ADD button 504 is selected is an example of a firstselection screen used for selecting a region including an object to bedetected in an input image.

FIG. 6B illustrates an example of a state in which a region to bedetected as a detection target object in the addition mode is selected.A selection region 604 is a region selected by a user as a region to bedetected as a detection target object. The display unit 105 displays aline of a frame of the selection region 604 by using different tint andthickness from that of the frame 502 such that the selection region 604is distinguishable from a region that actually detected. The displayunit 105 only displays the FINISH SETTING button 505 as selectable.

If the operation input unit 109 detects selection of the FINISH SETTINGbutton 505, the adjusting unit 106 can, for example, perform thefollowing processing. The adjusting unit 106 extracts an edge from theselection region 604 and generates an outline based on the extractededge. The adjusting unit 106 extracts features of head size, headorientation, and shoulder angle from the generated outline. Theadjusting unit 106 compares the extracted features and the rangesindicated by the detection parameters 602. If at least one of theextracted features is not included in the range indicated by thedetection parameter 602, the adjusting unit 106 determines thecorresponding ranges indicated by the detection parameters 602 so as toinclude the extracted features and defines the determined ranges ascandidate parameters for detection parameters. For example, the shoulderangles 40° to 78° indicate a range indicated in the correspondingdetection parameters 602. If the shoulder angle of the outline extractedfrom the selection region 604 is 84° and if the range to be indicated inthe detection parameters 602 includes 84°, the selection region 604 isalso detected by the detecting unit 102. Then, the adjusting unit 106determines a range of, for example, 40° to 85°, as a candidate parameterfor the detection parameter of the shoulder angle.

The detecting unit 102 detects an object from an image corresponding tothe image file 111 again by using the candidate parameter determined bythe adjusting unit 106 for the detection parameter and transmitsinformation regarding how many objects have been detected to the displayunit 105. The display unit 105 displays a pop-up display screen 605 onthe display device 208, as illustrated in FIG. 6C, when receiving theinformation regarding how many objects have been detected based on thecandidate parameter from the detecting unit 102. The pop-up displayscreen 605 can include information indicating how many objects are to bedetected from the current image in a case where the detecting unit 102is caused to detect the selection region 604 as a detection targetobject. How many objects are to be detected can be indicated by thenumber indicated by the information transmitted from the detecting unit102.

The pop-up display screen 605 includes an OK button 606 and a CANCELbutton 607 used in selecting whether a candidate parameter is to beadopted as a detection parameter to be actually used by the detectingunit 102. If the operation input unit 109 detects selection of the OKbutton 606, the adjusting unit 106 updates the information, which isstored in the HDD 204, regarding a detection parameter to be used indetection processing performed by the detecting unit 102 with the dataof the candidate parameter. When the detecting unit 102 updates theinformation regarding the detection parameter, the display unit 105changes data in the display region 503 to the data of the updateddetection parameter, as illustrated in FIG. 6D. FIG. 6D illustrates anexample of the setting screen 500 resulting from the change in displayof a detection parameter.

If the operation input unit 109 detects selection of the CANCEL button607, the display unit 105 can display the display screen illustrated inFIG. 6A on the display device 208. The pop-up display screen 605 and apop-up display screen 705, which will be described with reference toFIGS. 7A to 7D, are examples of adoption selection screens for selectingwhether a candidate parameter is to be actually adopted in objectdetection processing.

FIG. 6D illustrates an example state after the OK button 606 isselected. As indicated by the detection parameter 610, the shoulderangle range is changed to 40° to 85°. On the setting screen 500 in FIG.6D, the ADD button 504 is only returned to a selectable state, and theselection region 604 as indicated within the frame 608 is recognized asa human face being a detection target object.

According to the present embodiment, a user can select a region that hasnot been detected as a detection target object while checking thedisplay region 501 so that the adjusting unit 106 can adjust a detectionparameter to detect the selection region. In other words, theinformation processing apparatus 101 can provide a technology enabling auser to select a region to be detected to appropriately update adetection parameter.

The information processing apparatus 101 presents a detection result, ina case where a detection parameter is changed, to a user through thepop-up display screen 605. Thus, a user can check what kind of detectionresult can be acquired in a case where a detection parameter is changedso that, if the detection result is not desirable, the user can cancelthe change of the detection parameter. In other words, the informationprocessing apparatus 101 can reduce the possibility that a change of adetection parameter can deteriorate the detection accuracy.

Processing for adjusting a detection parameter in case where the DELETEbutton 506 is selected will be described with reference to FIGS. 7A to7D. FIG. 7A illustrates an example of the setting screen 500. In theexample illustrated in FIG. 7A, the face of a doll carried by a humanfigure is detected in a frame 701 as a human face. Processing will bedescribed that adjusts a detection parameter to prevent the face of thedoll from being detected as a human face. A detection parameter 702includes detection parameter values currently being used by thedetecting unit 102 for object detection. A region corresponding to aframe displayed in the display region 501 is an alternative forselecting by a user a region not to be detected.

The display unit 105 changes the frame 701 to a selection region 703 asillustrated in FIG. 7B in a case where the operation input unit 109detects selection of the frame 701 by a user's operation. Morespecifically, the display unit 105 changes the color or thickness of theframe 701 to generate the selection region 703. The display unit 105only enables the DELETE button 506 to be selectable if a frame isselected in the display region 501 as a selection region. The displayunit 105 returns the state of the setting screen 500 to the stateillustrated in FIG. 7A if the operation input unit 109 detects selectionof an arbitrary location excluding the DELETE button 506 on the settingscreen 500. The display region 501 before the DELETE button 506 isselected is an example of a second selection screen used in selecting aregion excluding a detection target object in an input image.

If selection of the DELETE button 506 is detected, the adjusting unit106 performs, for example, the following processing. The adjusting unit106 extracts an edge from the selection region 703 and generates anoutline based on the extracted edge. The adjusting unit 106 thenextracts features of head size, head orientation, and shoulder anglefrom the generated outline. The adjusting unit 106 compares theextracted features and the ranges indicated in the detection parameter702. If at least one of the extracted detection parameters is includedin the range indicated in the detection parameter 702, the adjustingunit 106 determines the ranges indicated in the detection parameter 702so as to exclude the extracted detection parameter and defines thedetermined range as a candidate parameter for the detection parameter.

For example, in a case where the range indicated in the detectionparameter 702 is a range of head size from 8 to 25 dots and where thehead size extracted from the selection region 703 is equal to 9 dots,the object with the head size of 9 dots is not to be detected by thedetecting unit 102 if 9 dots is outside the range indicated by thedetection parameter. Accordingly, the adjusting unit 106 determines, forexample, a range of 10 to 25 dots as a candidate parameter for thedetection parameter of head size.

The detecting unit 102 detects an object from an image corresponding tothe image file 111 again by using the candidate parameter determined bythe adjusting unit 106 for the detection parameter and transmitsinformation regarding how many objects have been detected to thedisplay.

The display unit 105 displays a pop-up display screen 705 on the displaydevice 208, as illustrated in FIG. 7C, when receiving informationregarding how many objects have been detected based on the candidateparameter from the detecting unit 102. The pop-up display screen 705 caninclude information indicating how many objects are to be detected fromthe current image in a case where the detecting unit 102 is caused notto detect the selection region 703 as a detection target object. Howmany objects are to be detected can be indicated by the number indicatedin the information transmitted from the detecting unit 102.

The pop-up display screen 705 includes an OK button 706 and a CANCELbutton 707 used in selecting whether a candidate parameter is to beadopted as a detection parameter to be actually used by the detectingunit 102. If the operation input unit 109 detects selection of the OKbutton 706, the adjusting unit 106 updates a detection parameter storedin the HDD 204 and to be used in detection processing performed by thedetecting unit 102 with the data of the candidate parameter. When theadjusting unit 106 updates the detection parameter, the display unit 105changes data in the display region 503 to the data of the updateddetection parameter, as illustrated in FIG. 7D. FIG. 7D illustrates anexample of the setting screen 500 resulting from a change in display ofa detection parameter. If the operation input unit 109 detects selectionof the CANCEL button 707, the display unit 105 can display the displayscreen illustrated in FIG. 7A on the display device 208.

Referring to FIG. 7D, an ADD button 710 is only enabled as selectable.Referring to FIG. 7D, a detection parameter 709 after the change isdisplayed in the display region 503. FIG. 7D does not illustrate theframe 701, but illustrates that a doll object 708 is not detected as ahuman face.

According to the present embodiment, a user can select a region that hasbeen detected as a detection target object while checking the displayregion 501 so that the adjusting unit 106 can adjust a detectionparameter not to detect the selection region. In other words, theinformation processing apparatus 101 can provide a technology enabling auser to select a region not to be detected to appropriately update adetection parameter.

The information processing apparatus 101 presents to a user through thepop-up display screen 705 a detection result in a case where a detectionparameter is changed. Thus, a user can check what kind of detectionresult can be acquired in a case where a detection parameter is changedso that, if the detection result is not desirable, the user can cancelthe change of the detection parameter. In other words, the informationprocessing apparatus 101 can reduce the possibility that a change of adetection parameter can deteriorate the detection accuracy.

Next, with reference to FIG. 8, the processing in FIGS. 6A to 6D will bedescribed in detail. FIG. 8 is a flowchart illustrating an example ofprocessing for adjusting a detection parameter so as to detect a regionthat is not detected. The processing illustrated in FIG. 8 is performed,for example, after the ADD button 504 is selected on the setting screen500 illustrated in FIG. 6A.

In S801, the operation input unit 109 determines whether the FINISHSETTING button 505 on the setting screen 500 is selected by a user'soperation through the input device 207. If the operation input unit 109determines that the FINISH SETTING button 505 is selected, theprocessing moves to S803. If the operation input unit 109 determinesthat the FINISH SETTING button 505 is not selected, the processing movesto S802.

In S802, the operation input unit 109 receives designation of a frame onthe display region 501 based on a user's operation through the inputdevice 207, and the display unit 105 generates and displays a framecorresponding to the designation of the frame received by the operationinput unit 109. The selection region 604 in FIG. 6B is an example of theregion corresponding to the generated frame.

In S803, the adjusting unit 106 determines whether any frame generatedin S802 exists. If the adjusting unit 106 determines that a framegenerated in S802 exists, the processing moves to S804. If the adjustingunit 106 determines that no frame generated in S802 exists, theprocessing in FIG. 8 ends.

In S804, the adjusting unit 106 adjusts the size of the frame generatedin S802. The processing for adjusting the frame size can includeadjusting the size of the frame to a size equal to that of anotherdetected frame if, for example, a user designates an excessively smallregion. The processing in S804 will be described in detail withreference to FIG. 10. In S805, the adjusting unit 106 adjusts thedetection parameter based on the selection region corresponding to theframe generated in S802 and the current detection parameter anddetermines a candidate parameter that is a candidate for a new detectionparameter.

If a feature extracted from the selection region corresponding to theframe generated in S802 is higher than an upper limit of the rangeindicated by the current detection parameter, the adjusting unit 106can, for example, perform the following processing. That is, theadjusting unit 106 determines a range of a candidate parameter the upperlimit of which is changed from the upper limit value of a rangeindicated by the current detection parameter to the value of the featureextracted from the selection region corresponding to the frame generatedin S802.

For example, if the range of a shoulder angle parameter indicated by acurrent detection parameter is 40° to 78° and if a feature of shoulderangle extracted from the selection region corresponding to the framegenerated in S802 is 85°, the adjusting unit 106 performs the followingprocessing. That is, the adjusting unit 106 determines a range of 40° to85° as the range of a candidate parameter relating to the shoulderangle. The adjusting unit 106 can determine a range of a candidateparameter the upper limit of which is changed from the upper limit valueof a range indicated by the current detection parameter to a valueacquired by adding a preset value (such as 1 or 2) to the value of thefeature extracted from the selection region corresponding to the framegenerated in S802.

If the value of the feature extracted from the selection regioncorresponding to the frame generated in S802 is lower than a lower limitof the range indicated by the current detection parameter, the adjustingunit 106 can, for example, perform the following processing. That is,the adjusting unit 106 determines a range of a candidate parameter thelower limit of which is changed from the lower limit value of a rangeindicated by the current detection parameter to the value of the featureextracted from the selection region corresponding to the frame generatedin S802. For example, if the range of the feature of a shoulder angleindicated by the current detection parameter is 40° to 78° and if thefeature of a shoulder angle extracted from the selection regioncorresponding to the frame generated in S802 is 38°, the adjusting unit106 performs the following processing. That is, the adjusting unit 106determines a range of 38° to 78° as the range of a candidate parameterrelating to the shoulder angle. Alternatively, the adjusting unit 106can determine a range of a candidate parameter the lower limit of whichis changed from the lower limit value of a range indicated by thecurrent detection parameter to a value acquired by subtracting a presetvalue (such as 1 or 2) from the value of the feature extracted from theselection region corresponding to the frame generated in S802.

In S806, the detecting unit 102 performs processing for detecting anobject from an image corresponding to the image file 111 by using thecandidate parameter determined in S805 as a detection parameter. Thedetecting unit 102 transmits information regarding how many objects havebeen detected as a result of the detection processing to the displayunit 105. The display unit 105 displays the pop-up display screen 605,including information indicating the number of detected objectscorresponding to the transmitted information, on the display device 208.The pop-up display screen 605 includes, referring to FIG. 6C, the OKbutton 606 and the CANCEL button 607, used in determining whether acandidate parameter is to be adopted as a detection parameter to beactually used by the detecting unit 102.

In S807, the operation input unit 109 receives selection of the OKbutton 606 or the CANCEL button 607 based on a user's operation. If theoperation input unit 109 receives selection of the OK button 606, theoperation input unit 109 determines that the user permits adoption ofthe candidate parameter as a detection parameter. Then, the processingmoves to S808. If the operation input unit 109 receives selection of theCANCEL button 607, the operation input unit 109 determines that the userdoes not permit adoption of the candidate parameter as a detectionparameter. Then, the processing in FIG. 8 ends.

In S808, the adjusting unit 106 updates the information regarding thedetection parameter stored in the HDD 204 with the data of the candidateparameter determined in S805 so that the candidate parameter is adoptedas a detection parameter that is actually used.

Next, with reference to FIG. 9, the processing in FIGS. 7A to 7D will bedescribed in detail. The processing in FIG. 9 is started when a regionthat is not to be detected is selected in FIG. 7A and the DELETE button506 is selected in FIG. 7B.

In S901, the adjusting unit 106 adjusts the detection parameter based onthe selection region on the setting screen 500 in FIG. 7A and thecurrent detection parameter, and determines a candidate parameter thatis a candidate for a new detection parameter.

If a feature extracted from the selection region selected through thesetting screen 500 is included in the range indicated by the currentdetection parameter, and if it has a value closer to an upper limitvalue of the range than a lower limit value thereof, the adjusting unit106 can, for example, perform the following processing. That is, theadjusting unit 106 determines a range of a candidate parameter the upperlimit of which is changed from the upper limit value of a rangeindicated by the current detection parameter to a value (such as value−1of the extracted feature) lower than the value of the feature extractedfrom the selection region. For example, if the range of a head sizeindicated by a current detection parameter is 8 to 25 dots and if thehead size extracted from the selection region is 20 dots, the adjustingunit 106 performs the following processing. That is, the adjusting unit106 determines a range of 8 to 19 dots as the range of a candidateparameter relating to the head size. The adjusting unit 106 candetermine a range of a candidate parameter the upper limit of which ischanged from the upper limit value of a range indicated by the currentdetection parameter to a value acquired by subtracting a preset value,such as 2 or 3, greater than or equal to 1 from the value of the featureextracted from the selection region.

If a feature extracted from the selection region that is selectedthrough the setting screen 500 is included in the range indicated by thecurrent detection parameter, and if the feature has a value closer to alower limit value than an upper limit value of the range, the adjustingunit 106 can, for example, perform the following processing. That is,the adjusting unit 106 determines a range of a candidate parameter thelower limit of which is changed from the lower limit value of a rangeindicated by the current detection parameter to a value, such as value+1of the extracted feature, greater than the value of the featureextracted from the selection region. For example, if the range of a headsize indicated by a current detection parameter is 8 to 25 dots and ifthe head size extracted from the selection region is 9 dots, theadjusting unit 106 performs the following processing. That is, theadjusting unit 106 determines a range of 10 to 25 dots as the range of acandidate parameter relating to the head size. The adjusting unit 106can determine a range of a candidate parameter the lower limit of whichis changed from the lower limit value of a range indicated by thecurrent detection parameter to a value acquired by adding a presetvalue, such as 2 or 3, greater than or equal to 1 to the value of thefeature extracted from the selection region.

In S902, the detecting unit 102 performs processing for detecting anobject from an image corresponding to the image file 111 by using thecandidate parameter determined in S901 as a detection parameter. Thedetecting unit 102 transmits information regarding how many objects havebeen detected as a result of the detection processing to the displayunit 105. The display unit 105 displays the pop-up display screen 705,including information indicating the number of detected objectscorresponding to the transmitted information, on the display device 208.The pop-up display screen 705 includes, referring to FIG. 7C, the OKbutton 706 and the CANCEL button 707 used in determining whether acandidate parameter is to be adopted as a detection parameter to beactually used by the detecting unit 102.

In S903, the operation input unit 109 receives selection of the OKbutton 706 or the CANCEL button 707 based on a user's operation. If theoperation input unit 109 receives selection of the OK button 706, theoperation input unit 109 determines that the user permits adoption ofthe candidate parameter as a detection parameter. Then, the processingmoves to S904. If the operation input unit 109 receives selection of theCANCEL button 707, the operation input unit 109 determines that the userdoes not permit adoption of the candidate parameter as a detectionparameter. Then, the processing in FIG. 9 ends.

In S904, the adjusting unit 106 updates the information regarding thedetection parameter stored in the HDD 204 with the data of the candidateparameter determined in S901 so that the candidate parameter is adoptedas a detection parameter that is actually used.

Next, with reference to FIG. 10, the processing in S804 will bedescribed in detail. FIG. 10 illustrates processing to be performed whenthe ADD button 601 is selected in a case where the size of the selectionregion is insufficient.

A selection region 1001 is a region selected as a region to be detectedby a user. When the FINISH SETTING button 505 is selected in thiscondition, the detecting unit 102 cannot extract features of head size,shoulder angle, and head orientation from the selection region 1001.Accordingly, the adjusting unit 106 can, for example, perform thefollowing processing. That is, the adjusting unit 106 increases thewidth and height of the selection region 1001 by a preset value, such as5 dots, about the center of the selection region 1001. Then, thedetecting unit 102 again extracts features of head size, shoulder angle,and head orientation from the enlarged selection region 1001. In a casewhere the detecting unit 102 can extract these features, the adjustingunit 106 determines the size of the enlarged selection region 1001 as afinal size of the selection region 1001.

In a case where the detecting unit 102 cannot extract those features,the adjusting unit 106 performs the processing for enlarging theselection region 1001 again. The detecting unit 102 extracts featuresfrom the enlarged selection region 1001 again. The adjusting unit 106enlarges the selection region 1001 until the detecting unit 102 canextract features from the selection region 1001. The size of theselection region 1001 when the detecting unit 102 can extract featuresis determined as a final size of the selection region. FIG. 10illustrates a selection region 1003 resulting from a final enlargementof the selection region 1001. The display unit 105 displays theselection region 1003 instead of the selection region 1001.

By performing processing to enlarge the selection region 1001 to anappropriate size, the information processing apparatus 101 canappropriately extract features, even in a case where the size of theselection region 1001 selected by a user is not sufficient forextracting the features.

As described above, according to the present embodiment, the informationprocessing apparatus 101 can adjust a detection parameter based on aselection region that is selected by a user from an image correspondingto the image file 111. Thus, a user can select a region to be detectedor not to be detected by performing a simple operation such as a dragoperation with a mouse so that the detection parameter can appropriatelybe adjusted. In other words, the information processing apparatus 101can provide a technology enabling a user to easily and appropriatelyadjust the detection parameter.

OTHER EMBODIMENTS

Additional embodiments can be implemented by processing includingsupplying a program implementing one or more functions according to theaforementioned embodiment to a system or an apparatus over a network orthrough a storage medium and, by one or more processor in a computer inthe system or the apparatus, reading out and executing the program.Embodiments can be implemented by a circuit, such as an ASIC)implementing one or more functions.

The above described embodiments are not seen to be limiting. Forexample, a part or all of the functional components of the informationprocessing apparatus 101 can be implemented in the informationprocessing apparatus 101.

Embodiment(s) can also be realized by a computer of a system orapparatus that reads out and executes computer executable instructions(e.g., one or more programs) recorded on a storage medium (which mayalso be referred to more fully as a ‘non-transitory computer-readablestorage medium’) to perform the functions of one or more of theabove-described embodiment(s) and/or that includes one or more circuits(e.g., application specific integrated circuit (ASIC)) for performingthe functions of one or more of the above-described embodiment(s), andby a method performed by the computer of the system or apparatus by, forexample, reading out and executing the computer executable instructionsfrom the storage medium to perform the functions of one or more of theabove-described embodiment(s) and/or controlling the one or morecircuits to perform the functions of one or more of the above-describedembodiment(s). The computer may comprise one or more processors (e.g.,central processing unit (CPU), micro processing unit (MPU)) and mayinclude a network of separate computers or separate processors to readout and execute the computer executable instructions. The computerexecutable instructions may be provided to the computer, for example,from a network or the storage medium. The storage medium may include,for example, one or more of a hard disk, a random-access memory (RAM), aread only memory (ROM), a storage of distributed computing systems, anoptical disk (such as a compact disc (CD), digital versatile disc (DVD),or Blu-ray Disc (BD)™), a flash memory device, a memory card, and thelike.

While exemplary embodiments have been described, it is to be understoodthat the invention is not limited to the disclosed exemplaryembodiments. The scope of the following claims is to be accorded thebroadest interpretation so as to encompass all such modifications andequivalent structures and functions.

This application claims the benefit of Japanese Patent Application No.2016-140692 filed Jul. 15, 2016, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An information processing apparatus comprising aprocessor executing a program recorded on a memory device, the executedprogram performing functions of: a display unit configured to display animage on a display device; a detecting unit configured to detect anobject in the image based on a first parameter value; a specifying unitconfigured to specify a region selected by a user on the displayedimage; an extracting unit configured to extract a feature of the regionspecified by the specifying unit; and an updating unit configured toupdate the first parameter value with a second parameter value to beused by the detecting unit such that the object having the featureextracted by the extracting unit is not to be detected.
 2. Theinformation processing apparatus according to claim 1, wherein theupdating unit updates the second parameter value such that an object inthe region specified by the specifying unit is detected by the detectingunit.
 3. The information processing apparatus according to claim 1,wherein the display unit displays, on the display device, a result ofdetection performed by the detecting unit by using the second parametervalue.
 4. The information processing apparatus according to claim 3,wherein the display unit displays a result of detection performed by thedetecting unit and displays a screen prompting the user to selectwhether the second parameter value is to be adopted.
 5. The informationprocessing apparatus according to claim 3, wherein the specifying unitspecifies the selection region in an image having undergone the objectdetection processing performed by the detecting unit.
 6. The informationprocessing apparatus according to claim 5, wherein the display unitdisplays a frame of a selection region specified by the specifying unitand a result of the object detection processing so as to bedistinguished from each other within the image.
 7. The informationprocessing apparatus according to claim 1, the executed program furtherperforms function of: adjusting unit configured to adjust a size of theregion specified by the specifying unit such that the feature of theobject in the region is extracted by the extracting unit.
 8. Theinformation processing apparatus according to claim 1, wherein thedisplay unit displays, on the display device, the image and a parametervalue being used by the detecting unit.
 9. The information processingapparatus according to claim 1, wherein the object is a human figure.10. The information processing apparatus according to claim 1, whereinthe second parameter value is a value having a margin to the featureextracted by the extracting unit.
 11. A method executed by aninformation processing apparatus, the method comprising: displaying animage on a display device; detecting an object in the image based on afirst parameter value; specifying a region selected by a user in-on thedisplayed image; extracting a feature of the region specified; andupdating the first parameter value with a second parameter value to beused such that the object having the feature extracted is not to bedetected.
 12. The method according to claim 11, wherein the secondparameter value is updated such that an object in the region specifiedis detected.
 13. The method according to claim 11, further comprising:displaying, on the display device, a result of detection by using thesecond parameter value.
 14. The method according to claim 13, wherein aresult of detection is displayed and displaying a screen prompting theuser to select whether the second parameter value is to be adopted. 15.A non-transitory computer-readable storage medium storing computerexecutable instructions for causing a computer to execute a method, themethod comprising: displaying an image on a display device; detecting anobject in the image based on a first parameter value; specifying aregion selected by a user on the displayed image; extracting a featureof the region specified; and updating the first parameter value with asecond parameter value to be used such that the object having thefeature extracted is not to be detected.